K.

requires("K.ui.Theme").

provides("K.manager.ThemeManager").
run(function(I) {
    var ThemeManager = K.kin(function(o) {
            var defaultTheme = DEFAULT_THEME;
        
            K.merge(o, {
                getDefaultTheme : function() {
                    return defaultTheme;
                }
            });
        
        }),
        
        DEFAULT_THEME = I.Theme("default"),
        
        defaultManager;
    
    K.merge(ThemeManager, {
        getDefaultManager : function() {
            if (!defaultManager) {
                defaultManager = ThemeManager();
            }
            
            return defaultManager;
        }
    });
    
    return ThemeManager;
});